home *** CD-ROM | disk | FTP | other *** search
-
- DOpusLhARexx Documentation
-
-
- Documentation for DOpusLhARexx 40.1
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Date: January 3, 1994
-
- © 1994 Nirvana Software
-
- Author: Geoff Seeley
-
-
- Overview - About the archive.
- Copyrights - Important information.
- Acknowledgments - Who made it possible.
- Installation - Setting up on your system.
- Known Bugs - What doesn't work
- Program History - What was done to fix the above :-)
- ToDos - What I would like to do
-
-
-
- Preface
-
-
- Preface
- ~~~~~~~
-
- I finally got around to purchasing a copy of Directory Opus recently,
- I'm just sorry I didn't do it sooner.
-
- Anyway, the files contained in this archive are a direct result of my
- "seeing what this baby can do" and hacking around with DOpus. I
- noticed that a few people on the InterNet were impressed with the ability
- of certain other directory utilities that allowed a user to view an LhA
- archive like a set of files. So...
-
- DOpusLhARexx is a set of ARexx scripts for Directory Opus that will allow
- you to view LhA archive files in a DOpus window and extract/delete/add
- one or more files to/from the archive.
-
- The DOpusLhARexx programs were developed and tested using the following
- programs. Your mileage may vary with other versions....
-
- LhA v1.38
- DOpus v4.11
-
-
-
- Copyrights
-
-
- Copyrights
- ~~~~~~~~~~
-
-
- The code within DOpusLhARexx is freely distributable and may not be
- sold for profit, however the code remains:
-
- Copyrighted © 1994 (All rights reserved)
- by Nirvana Software and Geoff Seeley.
-
- DOpusLhARexx may be included in public domain libraries such as Fred
- Fish's "Amiga Freely Redistributable Library" as long as no profit
- is made from these programs and no files in the archive are modified
- in any way.
-
- DOpusLhARexx may also be included on the AmiNet CD-ROM.
-
- If you *must* make improvements to these programs, please oh please,
- either send them to me for inclusion in a future release, or at least
- upload them to your nearest AmiNet archive site so that the Amiga
- community can benefit and enjoy.
-
- No warrantees are expressed or implied for these programs. Use them at
- your own risk.
-
- Directory Opus is copyrighted by Jonathan Potter and sold by
- Inovatronics, Inc.
-
- ARexx is a trademark of the Wishful Thinking Developement Corp. and
- William S. Hawes.
-
- LhA is copyrighted by Stefan Boberg.
-
- AmigaGuide, Commodore's Installer and Workbench are copyrighted trademarks
- of Commodore-Amiga, Inc.
-
-
-
- Acknowledgements
-
-
- Acknowledgements
- ~~~~~~~~~~~~~~~~
-
-
- The following people and groups made these programs possible.
-
- Thanks go to:
-
-
- Jonathan Potter for creating the indispensable Directory Opus program.
-
- Bill Hawes for implementing Rexx for the Amiga, and Commodore for
- including it into the OS.
-
- Billy Gates and MicroSoft for creating DOS6, Windows, Word, Excel, etc.
- which convince me each and every work day that the Commodore Amiga is
- *the* one and *only* platform to program/use...
-
-
-
- Installation
-
-
- Installation
- ~~~~~~~~~~~~
-
- Sorry, no Commodore Installer script this time. You have to install this
- by hand.
-
-
- The DOpusLhARexx archive contains the following files:
-
- DOpusLhARexx/DOpusLhARexx.readme
- DOpusLhARexx/Docs/DOpusLhARexx.guide
- DOpusLhARexx/Docs/DOpusLhARexx.doc
- DOpusLhARexx/ARexx/ListLhA.rexx
- DOpusLhARexx/ARexx/GetSizesLhA.rexx
- DOpusLhARexx/ARexx/ExtractFilesLhA.rexx
- DOpusLhARexx/ARexx/SelectFilesLhA.rexx
- DOpusLhARexx/ARexx/DelFilesLhA.rexx
- DOpusLhARexx/ARexx/AddFilesLhA.rexx
- DOpusLhARexx/ARexx/RestoreLhADir.rexx
-
- I would suggest that you create a subdirectory in DOpus: called "ARexx"
- and place the *.rexx files in this directory. Alternatively, you can
- place them into REXX: or even S:
-
- Load up DOpus and go into the configuration editor.
- Select the "Buttons" editor.
-
- Create six new buttons with the following characterisics:
-
- Name Cmd Type Command
- ~~~~ ~~~~~~~~ ~~~~~~~
- ListLhA ARexx DOpus:ARexx/ListLhA.rexx
- GetSizesLhA ARexx DOpus:ARexx/GetSizesLhA.rexx
- ExtLhaFiles ARexx DOpus:ARexx/ExtractFilesLhA.rexx
- SelectFilesLhA ARexx DOpus:ARexx/SelectFilesLhA.rexx
- DelFilesLhA ARexx DOpus:ARexx/DelFilesLhA.rexx
- AddFilesLhA ARexx DOpus:ARexx/AddFilesLhA.rexx
- RestoreLhADir ARexx DOpus:ARexx/RestoreLhADir.rexx
-
-
- All of these buttons should have no flags set and the default stack,
- priority and close delay values. (Consult the DOpus manual under the
- section "3.5 BUTTONS/EDITOR" if you don't understand what the above
- means)
-
- Fire up your favorite text editor and modify the *.rexx files listed
- above to conform to your system setup. You will only need to modify
- a few variables near the top of each file in the "configuration
- variables section.
-
-
-
- ListLhA
-
-
- ListLhA
- ~~~~~~~
-
- What it does:
- ~~~~~~~~~~~~~
-
- The ListLhA script allows the user to list an LhA archive in a buffer
- window.
-
- How to use it:
- ~~~~~~~~~~~~~~
-
- Move into the directory containing the LhA archive you wish to list.
-
- Select an LhA file (only the first selected file is looked at)
-
- Click on the "ListLhA" button.
-
- If the selected file is indeed an LhA archive, the buffer window will clear
- and the archive will be listed in the window.
-
-
-
- GetSizesLhA
-
-
- GetSizesLhA
- ~~~~~~~~~~~
-
- What it does:
- ~~~~~~~~~~~~~
-
- The GetSizesLhA script will do a byte count (total) on the files currently
- selected in an LhA archive window. (Much like the DOpus equivalent of
- the "GetSizes" button)
-
- How to use it:
- ~~~~~~~~~~~~~~
-
- Select the file(s) you wish to total in an LhA archive buffer window.
-
- Click on the "GetSizesLhA" button.
-
- You should then see the total byte/file count listed in the status bar.
-
-
-
- ExtLhaFiles
-
-
- ExtLhaFiles
- ~~~~~~~~~~~
-
- What it does:
- ~~~~~~~~~~~~~
-
- The ExtLhaFiles script will extract one or more files from an LhA archive
- window into the destination window.
-
- How to use it:
- ~~~~~~~~~~~~~~
-
- Select the file(s) you wish to extract in the LhA archive buffer window.
-
- Click on the "ExtLhaFiles" button.
-
- The script will then extract the selected file(s) to the destination
- window while restoring any path(s) stored in the LhA archive.
-
-
-
- SelectFilesLhA
-
-
- SelectFilesLhA
- ~~~~~~~~~~~~~~
-
- What it does:
- ~~~~~~~~~~~~~
-
- The SelectFilesLhA script will allow the user to select file(s) in the
- archive window via a sub-string search.
-
- How to use it:
- ~~~~~~~~~~~~~~
-
- Click on the "SelectFilesLhA" button.
-
- A requester will appear asking you for a sub-string to match on. Type in
- a string that will match all the files you want to select.
-
- All files with the sub-string as part of their path/filename will be
- selected. Additionally, the GetSizesLhA script will be called and
- the byte count (total) of the selected files will appear in the status
- bar.
-
- NOTE: pattern matching is not implemented (yet) so don't try something
- like "*.c". However, if you wish to select ALL files, you CAN
- enter "*" in the requester.
-
-
-
- DelFilesLhA
-
-
- DelFilesLhA
- ~~~~~~~~~~~
-
- What it does:
- ~~~~~~~~~~~~~
-
- The DelFilesLhA script will delete the selected file(s) from an archive
- window.
-
- How to use it:
- ~~~~~~~~~~~~~~
-
- Select the file(s) you wish to delete from the LhA archive.
-
- Click on the "DelFilesLhA" button.
-
- A confirmation requester will appear giving you the chance to abort the
- operation. (Once the files are deleted you CANNOT get them back)
-
- After the files have been deleted from the LhA archive, the buffer
- window will be updated by calling the ListLhA script.
-
- If you have deleted ALL the files in the LhA archive, you will be asked
- if you wish to delete the LhA archive. Selecting yes will delete the
- archive and load the original directory back into the window. If you
- choose no, the LhA buffer is left alone and you may add files into the
- empty archive via the "AddFilesLhA" button.
-
-
-
- AddFilesLhA
-
-
- AddFilesLhA
- ~~~~~~~~~~~
-
- What it does:
- ~~~~~~~~~~~~~
-
- The AddFilesLhA script allows the user to add one or more files to an
- LhA archive.
-
- How to use it:
- ~~~~~~~~~~~~~~
-
- List an LhA archive you want to add files into.
-
- In the destination window, select the files and/or directories you wish
- to add into the archive.
-
- Click on the "AddFilesLhA" button.
-
- A requester will appear asking you if you wish to store the pathnames of
- the files to be added. Selecting yes will store the paths relative to
- the source directory you have listed in the source window. Selecting
- no will ignore the paths and store the files into the archive as if they
- appeared in one directory.
-
- A second requester will then appear asking you if you wish to add any
- possible sub-directories. If you have selected a directory in the
- source window and you say yes to this requester, LhA will also
- recursively add any files/directories contained within the directorie(s)
- you have selected. Selecting no will only add files contained in the
- selected directorie(s) but no sub-directories below that.
-
- NOTE: Adding possible subdirectories automatically stores the full path
- names in the archive.
-
- The files will be added to the LhA archive and the buffer window will be
- updated by calling the ListLha script.
-
- NOTE: If you click on the "AddFilesLhA" button with no LhA archive listed,
- a requester will appear asking you if you wish to create a new
- LhA archive. Selecting yes will bring up a second requester asking
- you for a filename for the new archive. Enter a filename (with or
- without the ".lha" extension, but excluding the path) noteing that the
- archive will be created in the in-active directory window. (The path
- where the archive is to be created is listed in the requester)
-
- If you have selected one or more files/dirs in the active window,
- they will then be added to the new archive.
-
-
-
- RestoreLhADir
-
-
- RestoreLhADir
- ~~~~~~~~~~~~~
-
- What it does:
- ~~~~~~~~~~~~~
-
- The RestoreLhADir script will re-read the directory of the current LhA
- archive listed into the buffer window.
-
- How to use it:
- ~~~~~~~~~~~~~~
-
- Click on the "RestoreLhADir" button.
-
- The directory containing the LhA archive will be read into the buffer
- window.
-
-
-
- Bugs
-
-
- Known Bugs
- ~~~~~~~~~~
-
- As far as I know, there are no bugs in these programs. Enforcer was used
- during developement and testing. However, as I was the only person testing
- the scripts, I imagine there maybe some "features" I overlooked...
-
- If you find a problem, please tell me about it (See Author),
- and I'll try to fix it ASAP. Please feel free to send in your suggestions
- for enhancements as well...
-
-
- Limitations
- ~~~~~~~~~~~
-
- DOpus (at this time) only allows file entries of 256 characters. This of
- course limits the scripts to LhA archives with pathnames of about 246
- characters in length.
-
- LhA has path limits similar to those of DOpus as well.
-
-
-
- History
-
-
-
- ListLhA.rexx
- ~~~~~~~~~~~~
-
- 40.1 - initial quick hack, only displayed files.
-
- 40.2 - found bug, was bitten by ARexx quoting so spaces in file names
- screwed up.
- - added true file size in display after figuring out problem above.
- - added two unselectable total entries for new companion script
- GetSizesLhA.rexx.
- - improved messages to user showing just what the hell is going on. :-)
-
- 40.3 - added check to ignore file comments in archive.
- - added check to make sure file entry is less than 256 chars.
- (DOpus limit)
-
- 40.4 - added code so that DelFilesLhA and AddFilesLhA could call ListLhA
- to update the window as it would be tricky for DelFilesLhA and
- AddFilesLhA to do this.
-
- 40.5 - added code to set the ADDRESS to DOpus if the script was called
- from someplace else, namely, DelFilesLhA and AddFilesLhA.
- - bug fix. DOpus will only allow 30 characters in the window title,
- I was storing the path AND LhA filename in there (which is fine
- if your lha files are in a top level directory). To fix this,
- I changed the code to store only the LhA filename in the window
- title and added some code to store the path to the LhA archive
- within the directory window itself. By playing with the display
- pens, this entry is "invisible" to the user.
-
-
- GetSizesLhA.rexx
- ~~~~~~~~~~~~~~~~
-
- 40.1 - initial version.
- - tried to mimic DOpus 'GetSizes' button.
-
- 40.2 - adjusted index calculations due to new info in the footer of the
- directory window.
-
-
- ExtractFilesLhA.rexx
- ~~~~~~~~~~~~~~~~~~~~
-
- 40.1 - initial hack after playing with AddCustHandler (gave up...
- for now at least :-) The problem? Well, AddCustHandler passes
- some arguments, but not quite enough info to be able to extract
- files from the archive. I could get the information I need from
- DOpus itself, however AddCustHandler is 'blocking' DOpus.
- (ie. DOpus won't respond to ARexx as it's waiting for the
- AddCustHandler script to end/return) If I can find a clean way
- of using AddCustHandler for Click-M-Click extraction, I'll update
- the archive.
-
- 40.2 - added code to allow extracting of all selected files at one time,
- instead of having to open a CON:/LhA for each file. Left original
- code in there for users who like that method. :-)
- - improved messages to user.
- - added check to see if there is a valid destination path.
-
- 40.3 - added code to set the ADDRESS to DOpus in case DOpus didn't invoke
- the script.
-
- 40.4 - changed code to get the path to the LhA archive from the directory
- window.
-
- 40.5 - added TopText call and moved "Busy on" call before requester.
-
- 40.6 - bug fixes. added missing quotes and parameters for Status calls.
-
- 40.7 - found out that LhA doesn't like certain characters in the file names
- it uses to extract. Added function to change these to wildcards.
-
- 40.8 - added code to check the other window if no LhA buffer found in
- current window.
-
-
- AddFilesLhA.rexx
- ~~~~~~~~~~~~~~~~
-
- 40.1 - initial version. I said, "What the hell!", might as well be able to
- add and delete files from the archive as well as extract them...
-
- 40.2 - added code to get the path to the LhA archive from the directory
- window.
-
- 40.3 - added TopText call and moved "Busy on" call before requester.
-
- 40.4 - added code to allow the user to create a new archive.
- - added option to recurse subdirectories.
-
- 40.5 - found out that LhA doesn't like certain characters in the file names
- it uses to add. Added function to change these to wildcards.
-
- 40.6 - added code to list a new archive after creation.
-
-
- DelFilesLhA.rexx
- ~~~~~~~~~~~~~~~~
-
- 40.1 - initial version
-
- 40.2 - changed the way DelFilesLhA.rexx called ListLhA.rexx as I was
- getting some *very* impressive crashes (continuous yellow screen
- upon reboot!) via 'call ListLhA.rexx'.
- - moved the code to restore DOpus's requester button text from the
- CleanUp function as I don't think it was hitting it.
-
- 40.3 - added code to get the path to the LhA archive from the directory
- window.
-
- 40.4 - added TopText call and moved "Busy on" call before confirmation
- requester.
- - added code to see if the archive is empty after the delete. If
- it is, the user is given the option of deleting the empty archive.
-
- 40.5 - added Busy on call after Request as it seems DOpus turns Busy off
- after the Request.
-
- 40.6 - found out that LhA doesn't like certain characters in the file names
- it uses to delete. Added function to change these to wildcards.
- - added check to see if the LhA archive is empty to begin with, if
- so the user is given the option of deleting it.
-
- 40.7 - added code to check the other buffer window if no archive is
- detected in the current window.
-
-
- SelectFilesLhA.rexx
- ~~~~~~~~~~~~~~~~~~~
-
- 40.1 - initial version
-
- 40.2 - added code to call GetFileSizesLha.rexx after file selection to
- show the totals.
- - added ScrollToIndex call so user sees the selection process.
-
- 40.3 - added TopText call and moved "Busy on" call before the string
- requester.
- - added special pattern "*" to select all files
-
- RestoreLhADir.rexx
- ~~~~~~~~~~~~~~~~~~
-
- 40.1 - initial version
-
- 40.2 - added code to check the other buffer window as well.
-
-
-
- Author
-
-
- Contacting the Author
- ~~~~~~~~~~~~~~~~~~~~~
-
-
- If you have any comments, suggestions, gripes, or God forbid... bugs,
- Please feel free to contact me at the following places:
-
-
- Snail-Mail: Geoff Seeley
- 1240 Margaret Place,
- Duncan, British Columbia
- Canada
- V9L 4T6
-
-
- E-Mail: geoff@softwords.bc.ca (InterNet)
-
-
-
- ToDos
-
-
- ToDos
- ~~~~~
-
- - finish AddCustHandler for click-m-click extraction of files.
- - add proper pattern matching to SelectFilesLhA.rexx.
- - compile the scripts with the ARexx compiler for speed (Can someone out
- there do this please???)
- - add support for ZIP, TAR, and other archivers.
- - create support functions for DOpus's "AddFile" command (damned thing
- wants the time-stamp in seconds!?)
- - improve the creation of an archive (maybe make "CreateLhA"?)
- - allow operations between archives (ie. list two archives, move files
- between them)
- - make a DOpus help file for the buttons. (haven't used this feature
- yet :-)
- - create non-commented versions for speed
-
-